\item Prueba de privacidad.
  \begin{itemize}
    \item \textbf{Descripción:} Se intenta acceder a zonas del sistema donde el
    usuario identificado no tiene permiso de acceso.
    \item \textbf{Problemas encontrados:} Modificando manualmente la url del
    navegador es posible acceder a zonas del sistema no autorizadas para el
    usuario identificado. Ejemplo: un usuario Alumno que conozca la url a través
    de la cual un usuario Administrador principal accede a su zona de la
    aplicación puede ver su contenido.
    \item \textbf{Soluciones adoptadas:} Se han creado funciones
    decoradoras\footnote{Según Wikipedia \cite{wikipedia1} (traducción propia):
    \textit{Un decorador es un objeto Python que puede ser llamado con un único
    argumento, y que modifica funciones o métodos. Los decoradores son una
    forma de metaprogramación; mejoran la acción de la función o método al que
    decoran. El uso convencional de funciones decoradoras es para crear métodos
    de clase o estáticos, añadir atributos a una función, trazabilidad, definir
    pre y postcondiciones y sincronización, pero pueden ser usados para mucho
    más todavía, incluyendo ``tail recursion elimination'', ``memoization''
    [sic] e incluso para mejorar la escritura de decoradores.}} para cada tipo
    de rol que comprueban que se realice un acceso autorizado para cada unas de
    las funciones de la aplicación.
  \end{itemize}
